package xyz.ddlnt.serviceusr.service;

import com.baomidou.mybatisplus.extension.service.IService;
import xyz.ddlnt.model.dto.FollowDTO;
import xyz.ddlnt.model.dto.PageDTO;
import xyz.ddlnt.model.entity.Follow;
import xyz.ddlnt.model.vo.FollowVO;

import java.util.List;

/**
 * @author ZZULI_SE 210910
 * @data 2025/5/10 21:29
 */
public interface FollowService extends IService<Follow> {
    /**
     * 关注用户
     * @param followDTO
     * @return
     */
    Boolean FollowUser(FollowDTO followDTO);

    /**
     * 取关用户
     * @param followDTO
     * @return
     */
    Boolean unfollowUser(FollowDTO followDTO);

    /**
     * 判断用户是否关注了该用户
     * @param followDTO
     * @return
     */
    Boolean isFollowed(FollowDTO followDTO);

    /**
     * 获取用户关注列表
     * @param pageDTO
     * @return
     */
    List<FollowVO> getFollowList(PageDTO pageDTO);

    /**
     * 获取用户粉丝列表
     * @param pageDTO
     * @return
     */
    List<FollowVO> getFansList(PageDTO pageDTO);
}
